<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
		//大写
		var cap="零壹贰叁肆伍陆柒捌玖".split("");
		//单位
		var units="仟佰拾亿仟佰萬仟佰拾元角分".split("");
		
			function fun(){
				var num=document.getElementById("num").value;
				var reg=/^(([1-9]\d{0,14})|0)(\.\d{1,2})?$/;
				if(!reg.test(num)){
					alert("数字格式错误");
					return ;
				 }
				 //小数点下标，检索不到返回-1
				 var index=num.indexOf(".");
				 if(index==-1){
					 num=num+".00";
				 }
				 else{
					 // num=num+"0";
					 num=num;
				 }
				 //拼接字符后小数点位置变化，重新定位
				 index=num.indexOf(".");
				 //截取整数
				 var part1=num.substring(0,index);
				 //截取小数,小数点后两位
				 var part2=num.substr(index+1,2);
				 var money=(part1+part2).split("");
				 var res="";
				
				 for(var i=money.length-1, j=units.length-1;i>=0;i--,j--){
					 res=cap[money[i]]+units[j]+res;
				 }
			document.getElementById("res").innerHTML=res;
			// 银行金额转换,每三位加逗号
			var numStr = part1.split('').reverse().join('');
			// split('')：将 part1 字符串转化成一个由单个字符组成的数组。
			// reverse()：对该字符串数组进行颠倒顺序的操作。
			// join('')：将颠倒顺序之后的字符串数组通过 '' 连接起来，并返回一个新的字符串。
			 var newNumStr = '';//空字符串，表示接下来是要往其处添加字符。
			for (var i = 0; i < numStr.length; i++) {
			  if (i % 3 === 0 && i !== 0) {
			    newNumStr += ',';
			  }
			  newNumStr += numStr[i];
			}
			var newNum = newNumStr.split('').reverse().join('') + '.' + part2;
			document.getElementById("bank").innerHTML = newNum;

			}

		</script>
		
	</head>
	<body>
		输入数字：<input type="text" name="" id="num" value="" />
		<button type="button" onclick="fun()">转换</button>
		<br>
		银行金额：<span id="bank">
			
		</span>
		<br>
		大写金额：<span id="res" style="color: red;">
			
		</span>
	</body>
</html>
